/******************************************************
* Team WB
* Brett Cate, William Kim
* 
* Main Program Header
* This program handles the user interface for the SC-2
* computer simulation. 
*******************************************************/

#ifndef REGISTERFILE_H
#include "registerFile.h"
#endif
#ifndef MEMORYMODULE_H
#include "memoryModule.h"
#endif
#ifndef ALU_H
#include "alu.h"
#endif
#ifndef DEBUGMONITOR_H
#include "debugMonitor.h"
#endif

/* 
Displays main menu options and prompts for user choice.

return value: the user choice.
*/
int main_mainMenu();

/* 
Displays register menu options and prompts for user choice.
*/
void main_registerMenu(RegisterFilePtr the_registerFilePtr);

/* 
Displays memory menu options and prompts for user choice.
*/
void main_memoryMenu(MemoryModulePtr the_memoryModulePtr);

/* 
Displays ALU menu options and prompts for user choice.
*/
void main_aluMenu(ALUPtr the_aluPtr);

/*
Returns the respective error message given an error code.

parameter (the_error_code): the error code.

return value: an error message as a string.
*/
char* main_errorMessage(int the_error_code);

/* End Program */
